Example source code

The following unsupported source code is not intended to be a production-ready implementation and is provided only as an example of how to customize SAP to meet your specific needs.

Note    The server name and the parameter values of the constant gc_url must be modified to match the your deployment as described in Composing view URLs.

*&---------------------------------------------------------------------*
*& Report  ZPM_CALLEX
*&
*&---------------------------------------------------------------------*

REPORT zpm_callex.

CONSTANTS: gc_url TYPE string
                  VALUE 'http://servername/BCEnterprise/home.aspx?VIEWID=DOC_3A9E0&TAGFILTER=9d14c5&NAVSTATE=HIDE&'.

FORM zcallex_fl.
  DATA: lv_url TYPE bxmnodes-url,
        ls_iflo TYPE iflo.

  PERFORM get_context_iflo CHANGING ls_iflo.
  IF ls_iflo-tplnr IS INITIAL.
    MESSAGE s398(00) WITH 'Functional location can not be determined'.
  ELSE.
    WRITE ls_iflo-tplnr TO ls_iflo-tplnr USING EDIT MASK '==TPLNR'.
    CONCATENATE gc_url 'FL=' ls_iflo-tplnr INTO lv_url.

    CALL FUNCTION 'PRGN_GENER_EXECUTE_URL'
      EXPORTING
        node_data = lv_url.
  ENDIF.

ENDFORM.                    "

*&---------------------------------------------------------------------*
*&      Form  GET_CONTEXT_IFLO
*&---------------------------------------------------------------------*
FORM get_context_iflo CHANGING cs_iflo  TYPE iflo.
  DATA: lv_name TYPE string.

  FIELD-SYMBOLS <ls_iflo> TYPE iflo.

* Context data sent by COIH
  lv_name = '(SAPMILO0)IFLO'.
  ASSIGN (lv_name) TO <ls_iflo>.
  IF sy-subrc <> 0.
    RETURN.
  ENDIF.

  cs_iflo = <ls_iflo>.

ENDFORM.

FORM zcallex_eq.
  DATA: lv_url TYPE bxmnodes-url,
        ls_itob TYPE itob.

  PERFORM get_context_itob CHANGING ls_itob.
  IF ls_itob-equnr IS INITIAL.
    MESSAGE s398(00) WITH 'Equipment can not be determined'.
  ELSE.
*   write ls_iflo-tplnr to ls_iflo-tplnr using edit mask '==TPLNR'.

    CONCATENATE gc_url 'EQ=' ls_itob-equnr INTO lv_url.

    CALL FUNCTION 'PRGN_GENER_EXECUTE_URL'
      EXPORTING
        node_data = lv_url.
  ENDIF.

ENDFORM.                    "

*&---------------------------------------------------------------------*
*&      Form  GET_CONTEXT_ITOB
*&---------------------------------------------------------------------*
FORM get_context_itob CHANGING cs_itob  TYPE itob.
  DATA: lv_name TYPE string.

  FIELD-SYMBOLS <ls_itob> TYPE itob.

* Context data sent by COIH
  lv_name = '(SAPMIEQ0)ITOB'.
  ASSIGN (lv_name) TO <ls_itob>.
  IF sy-subrc <> 0.
    RETURN.
  ENDIF.

  cs_itob = <ls_itob>.

ENDFORM.